Limitations
There are some known limitations with the added CopyBits() support
that you should be aware of. They are:
- Extremely complex clipping regions may occasionally fail on Level 1 or
Level 2 devices in low printer memory conditions. The result is that the
output will not preserve the clip, and the image will print as if the
maskRgn
parameter is ignored.
Specifically, for PostScript Level 1 printers, there is a hard coded limit to how
complex a clip can be, regardless of the printer's installed memory. If the clip is
more complex than this limit, the LaserWriter driver ignores the maskRgn
parameter.
For Level 2 printers, the limits are completely memory-based and generally much more
flexible. However, once again, in low-memory conditions, the clip may still fail.
On PostScript Level 3 printers, all clips should always print correctly regardless
of the complexity of the clip since the driver uses the PostScript Level 3 masked
image to support this feature.
- Since the LaserWriter driver implements the transparent mode via clipping,
complex transparent regions may occasionally fail on Level 1 or Level 2 devices
in low-memory conditions as described above. The result is that the output does
not preserve the transparency, and the pixels image with the background color instead.
- For 2, 4, and 8-bit images with a color look-up table (CLUT), the LaserWriter
8.5.1 driver only supports one index which maps to the background color. Although
the CLUT may contain many index values which have the background color and are
therefore, in principle, transparent when displayed onscreen, the driver searches
the look-up table for the first index which corresponds to the background color.
Index samples with that index value are printed as transparent. Other index
values which correspond to the background color are not treated as transparent
but are printed as the background color.
- In order to maintain compatibility with many applications, the
LaserWriter 8.5.1 driver will ignore a
maskRgn which is an empty region
under some circumstances (e.g. some rotated text and graphics). Some
applications have used the fact that previous drivers always ignored the maskRgn
parameter to clip out certain data when printing to QuickDraw printers.
Relying on this 'feature' is not recommended, and the fact that there are some
edge cases where a zero clip is ignored for compatibility reasons may be a
temporary 'feature' of the driver. To avoid accidentally encountering these
cases, when you really want a zero clip, either do not draw the image (preferred)
or use grafPort clipping to clip it.
|